// 导入ComponentWithStore方法
import { ComponentWithStore } from "mobx-miniprogram-bindings";
// 导入需要使用的store
import { numStore } from "../../stores/numstore";
// 使用ComponentWithStore方法替换Component方法
// 如果使用ComponentWithStore构造组件，计算属性扩展库则需要使用旧版API
// 1.导入计算属性 behavior
const computedBehavior = require("miniprogram-computed").behavior;
ComponentWithStore({
  data: {
    a: 1,
    b: 2,
  },
  methods: {
    updateData() {
      this.setData({
        a: this.data.a + 1,
        b: this.data.b + 1,
      });
    },
  },
  // 对使用的仓库进行配置
  storeBindings: {
    store: numStore,
    fields: ["numA", "numB", "sum"],
    actions: ["update"],
  },
  // 2.注册behavior
  behaviors: [computedBehavior],
  // 3.使用computed和watch
  computed: {
    total(data) {
      return data.a + data.b;
    },
  },
  watch: {
    "a,b"(a, b) {
      console.log(a, b);
    },
  },
});
